// pages/car/car.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
      totalData:0,
      goodsList:[
          // {
          //     id:1,
          //     goodsImage:"/images/goods01.jpg",
          //     goodsName:"商品名称1",
          //     goodsPrice:"200",
          //     num:1
          // },
          // {
          //     id:2,
          //     goodsImage:"/images/goods01.jpg",
          //     goodsName:"商品名称2",
          //     goodsPrice:"200",
          //     num:1
          // }
      ]
  },

  // 跳转支付页面
  goPay(){
      wx.navigateTo({
          url:"/pages/pay/pay"
      })
  },

  // 数量加一
  add(options){
      let index = options.target.dataset.id;
      let num = this.data.goodsList[index].num;
      let key = "goodsList["+index+"].num";
      this.setData({
          [key]:num+1
      })
      //计算总价格
      this.getTotal();
  },
  // 数量减一
  sub(options){
      let index = options.target.dataset.id;
      let num = this.data.goodsList[index].num;
      let key = "goodsList["+index+"].num";
      num = num <= 1? 1:num-1;
      this.setData({
          [key]:num
      })
      //计算总价格
      this.getTotal();
  },
  // 删除数据
  del(options){
      let index = options.currentTarget.dataset.id;
      this.data.goodsList.splice(index,1); //删除数据，不同步视图
      this.setData({
          goodsList:this.data.goodsList //重新赋值对象，渲染页面
      })
      //计算总价格
      this.getTotal();
  },

  // 计算总价格方法
  getTotal(){
      // 获取数据
      let goodsList = this.data.goodsList;
      if(!goodsList){
          return;
      }
      // 总价格
      let data = goodsList.reduce((total,item)=>{
          return total + item.num * item.goodsPrice;
      },0)
      this.setData({
          totalData:data
      })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
      // 获取数据
      var getCarData = wx.getStorageSync('goodsCarList');
      this.setData({
          goodsList:getCarData
      })
      //计算总价格
      this.getTotal();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
      // 离开页面，更新数据缓存
      wx.setStorageSync('goodsCarList', this.data.goodsList);
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
      // 卸载页面，更新数据缓存
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})